Implement also for GtkPaned
authorLukáš Tyrychtr <lukastyrychtr@gmail.com>
Fri, 16 Sep 2022 08:22:05 +0000 (10:22 +0200)
committerLukáš Tyrychtr <lukastyrychtr@gmail.com>
Thu, 29 Sep 2022 07:36:09 +0000 (09:36 +0200)
gtk/gtkpaned.c

index 4360050c4361f0ecd19a3119e201386348770caa..c0ff043d2f2c15321bea1a30356792cec84ee111 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "gtkpaned.h"
 
+#include "gtkaccessiblerange.h"
 #include "gtkcssboxesprivate.h"
 #include "gtkeventcontrollermotion.h"
 #include "gtkgesturepan.h"
@@ -246,8 +247,12 @@ static void     update_drag                     (GtkPaned         *paned,
 
 static void gtk_paned_buildable_iface_init (GtkBuildableIface *iface);
 
+static void gtk_paned_accessible_range_init (GtkAccessibleRangeInterface *iface);
+
 G_DEFINE_TYPE_WITH_CODE (GtkPaned, gtk_paned, GTK_TYPE_WIDGET,
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)
+                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ACCESSIBLE_RANGE,
+                                                gtk_paned_accessible_range_init)
                          G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
                                                 gtk_paned_buildable_iface_init))
 
@@ -804,6 +809,26 @@ gtk_paned_buildable_iface_init (GtkBuildableIface *iface)
   iface->add_child = gtk_paned_buildable_add_child;
 }
 
+static double
+gtk_paned_accessible_range_get_minimum_increment (GtkAccessibleRange *accessible_range)
+{
+  return 1.0;
+}
+
+static void
+gtk_paned_accessible_range_set_current_value (GtkAccessibleRange *accessible_range, double value)
+{
+  GtkPaned *paned = GTK_PANED (accessible_range);
+  gtk_paned_set_position (paned, (int) value + 0.5);
+}
+
+static void
+gtk_paned_accessible_range_init (GtkAccessibleRangeInterface *iface)
+{
+  iface->get_minimum_increment = gtk_paned_accessible_range_get_minimum_increment;
+  iface->set_current_value = gtk_paned_accessible_range_set_current_value;
+}
+
 static gboolean
 initiates_touch_drag (GtkPaned *paned,
                       double    start_x,